Voice over internet protocol (“VoIP”) communication systems allow the user of a terminal, such as a personal computer, to make telephone calls across a computer network such as the Internet. These systems are beneficial to the user as they are often of significantly lower cost than traditional telephony networks, such as fixed line or mobile networks. This may particularly be the case for long distance calls. To use a VoIP service, the user must install and execute client software on their terminal. The client software provides the VoIP connections as well as other functions such as registration and authentication. In addition to voice communication, the client may also provide video calling and instant messaging (“IM”).
One type of VoIP communication system uses a peer-to-peer communication system built on proprietary protocols. To access the peer-to-peer communication system, the user must execute peer to peer client software provided by the operator of the peer to peer system on their user terminal, and register with the peer to peer system. When the user registers with the peer to peer system the client software is provided with a digital certificate from a central server. Once the client software has been provided with the certificate, communication can subsequently be set up and routed between users of the peer to peer system without the further use of a central server. In particular, the users can establish their own communication routes through the P2P system based on the exchange of one or more digital certificates (or user identity certificates, “UIC”), which enable access to the P2P system. The exchange of the digital certificates between users provides proof of the users' identities and that they are suitably authorised and authenticated in the P2P system. Therefore, the presentation of digital certificates provides trust in the identity of the user. It is therefore a characteristic of peer-to-peer communication that the communication is not routed using a server but directly from end-user to end-user. Further details on such a peer to system are disclosed in WO 2005/009019.
In a communication system, such as a peer to peer system, the client software installed on an end user terminal such as a personal computer (PC) allows the user of the user terminal to communicate with other users of the communication system. The user interface of the client software can be controlled to display details of other users of the communication system as a list of contacts stored by the user of the user terminal. The client user interface may also be controlled to display a list of recent events such as missed incoming calls or chat messages
The user may navigate options presented by the client user interface in order to access the contact list and initiate a communication event with user of the communication network listed in the contact list. Alternatively the user may access the list of recent events by selecting an event history option in order to return a missed call or access a chat message.
Computer gaming systems form an integral part of many peoples' home entertainment systems. Gaming systems typically allow users to play a wide variety of games by loading and executing the appropriate software. The software creates a virtual game word representing, for example, virtual reality in which the player can control one or more game characters. The player interacts with the game by means of various input devices such as control pads and a keyboard, and various output devices such as a monitor and speakers.
The enjoyment of many games may be enhanced by allowing two or more players to play a game simultaneously, for example to compete against each other in the game. If all players are located at the same place then each player may control a respective input device connected to the same game machine which runs the game software. In some cases, it is also possible for multiple players to participate together in a game when they are located remotely from each other. In this case, each player has a respective game machine which communicate with each other via a network such as the internet. Each game machine executes the game software and receives input signals from the input devices controlled by a respective player. These signals are transmitted over the network to one of the game machines designated as a master. The master receives the inputs and modifies the state of the game world accordingly. The master then transmits signals back to each of the other game machines representing the modified game state. The modified game state is updated in each of the game machines and displayed to the players.
In accordance with a first aspect, the invention provides a method for outputting data streams in a communication system, the method comprising the steps of: executing an electronic game application at a user terminal, the game application being programmed to allow two or more users of the communication system to participate in the game; receiving two or more data streams at the user terminal, each data stream being generated by a user of the communications system; applying game logic to determine the current state of the game application; and selecting one or more of the received data streams to be output from an output device of the user terminal, wherein the selection depends on the current state of the game application.
In accordance with a second aspect, the invention provides a system for outputting data streams in a communication system, the system comprising: a processor for executing an electronic game application at a user terminal, the game application being programmed to allow two or more users of the communication system to participate in the game; an input for receiving two or more data streams at the user terminal, each data stream being generated by a user of the communications system; means for applying game logic to determine the current state of the game application; and means for selecting one or more of the received data streams to be output from an output device of the user terminal, wherein the selection depends on the current state of the game application.